Locking and Latching in a Memory-Resident Database System
نویسندگان
چکیده
As part of the Starburst extensible database project developed at the IBM Almaden Research Center, we designed and implemented a memory-resident storage component that co-exists with Star-burst’s diskoriented storage component. The two storage components share the same common services, such as query optimization, transaction management, etc. However, the memory-resident storage component is faster than the disk-oriented storage component and hence needs faster run-time services. This paper examines two runtime services, the lock manager and the latch mechanism, and investigates possible cost-cutting measures. We propose the use of of a single latch for protecting a table, all of its indexes, and all of its related lock information, in order to reduce storage component latch costs. VVe then show that although a table-level latch is a large granule latch, it does not significantly restrict concurrency. VVe also examine traditional lock manager design and suggest a different design that is appropriate for memory-resident storage components. The new design exploits direct addressing of lock data and dynamic, multi-granularity locks. Performance measurements of the new lock manager show that it outperforms the regular Starburst lock manager, which is of a traditional lock manager design, by as much as
منابع مشابه
Efficient Locking Techniques for Databases on Modern Hardware
Traditional database systems are driven by the assumption that disk I/O is the primary bottleneck, overshadowing all other costs. However, future database systems will be dominated by many-core processors, large main memory, and low-latency semiconductor mass storage. In the increasingly common case that the working data set fits in memory or low-latency storage, new bottlenecks emerge: locking...
متن کاملHyPer: Adapting Columnar Main-Memory Data Management for Transactional AND Query Processing
Traditionally, business applications have separated their data into an OLTP data store for high throughput transaction processing and a data warehouse for complex query processing. This separation bears severe maintenance and data consistency disadvantages. Two emerging hardware trends allow the consolidation of the two disparate workloads onto the same database state on one system: the increas...
متن کاملPLP: Page Latch-free Shared-everything OLTP
Scaling the performance of shared-everything transaction processing systems to highly-parallel multicore hardware remains a challenge for database system designers. Recent proposals alleviate locking and logging bottlenecks in the system, leaving page latching as the next potential problem. To tackle the page latching problem, we propose physiological partitioning (PLP). The PLP design applies ...
متن کاملComparing Two-Phase Locking and Optimistic Concurrency Control Protocols in Multiprocessor Real-Time Databases
Previous studies (e.g., [5]) have shown that optimistic concurrency control (OCC) generally performs better than lock-based protocols in disk-based real-time database systems (RTDBS). In this paper we compare the two concurrency control protocols in both disk-based and memory-resident multiprocessor RTDBS. Based on their performance characteristics, a new lock-based protocol, called Two Phase L...
متن کاملIncorporating load factor into the scheduling of soft real-time transactions for main memory databases
| Many real-time applications have very tight time constraints which couldn't be met by disk resident databases. For those applications, main memory database where entire database is stored in main memory is the proper choice. It has been shown that coarse-granule locking is better than ne-granule locking for main-memory databases. Coarse-granule locking makes it easy to extract data access pat...
متن کامل